/**
 * 全局过滤器
 */
import Vue from 'vue'

// // 金额格式化
Vue.filter('filterMoney', (value) => {
  value = value.toString()
  let reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/
  if (reg.test(value)) {
    let n = !isFinite(+value) ? 0 : parseFloat(value)
    let prec = 2
    let sep = ','
    let dec = '.'
    let s = ''
    let toFixedFix = function (n, prec) {
      let k = Math.pow(10, prec)
      return '' + Math.ceil(n * k) / k
    }
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')
    var re = /(-?\d+)(\d{3})/
    while (re.test(s[0])) {
      s[0] = s[0].replace(re, '$1' + sep + '$2')
    }
    if ((s[1] || '').length < prec) {
      s[1] = s[1] || ''
      s[1] += new Array(prec - s[1].length + 1).join('0')
    }
    return s.join(dec)
  } else {
    return value
  }
})

// 渲染日期格式为显示用格式，转换为YYYY-MM-DD格式或YYYY-MM-DD HH:II:SS格式或HH:II:SS格式
Vue.filter('dateformat', function (v) {
  v = v.toString()
  let len = v.length
  if (len === 14) { // 转为YYYY-MM-DD HH:II:SS
    return v.substr(0, 4) + '-' + v.substr(4, 2) + '-' + v.substr(6, 2) + ' ' + v.substr(8, 2) + ':' + v.substr(10, 2) + ':' + v.substr(12, 2)
  } else if (len === 8) { // 转为YYYY-MM-DD
    return v.substr(0, 4) + '-' + v.substr(4, 2) + '-' + v.substr(6, 2)
  } else if (len === 6) { // 转为HH:II:SS
    return v.substr(0, 2) + ':' + v.substr(2, 2) + ':' + v.substr(4, 2)
  }
})

// // 补全图片地址
// Vue.filter('image', function (v) {
//   return process.env.serverImageUrl + v
// })
